; credit: iburel for the idea

section .data
    global table_type

; isalpha 0b00000001
; isdigit 0b00000010
; isalnum 0b00000100
; isprint 0b00001000
; islower 0b00010000
; isupper 0b00100000

table_type:
    db  0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, \
        0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, \
        0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, \
        0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, \
        0b00001000, 0b00001000, 0b00001000, 0b00001000, 0b00001000, 0b00001000, 0b00001000, 0b00001000, \
        0b00001000, 0b00001000, 0b00001000, 0b00001000, 0b00001000, 0b00001000, 0b00001000, 0b00001000, \
        0b00001110, 0b00001110, 0b00001110, 0b00001110, 0b00001110, 0b00001110, 0b00001110, 0b00001110, \
        0b00001110, 0b00001110, 0b00001000, 0b00001000, 0b00001000, 0b00001000, 0b00001000, 0b00001000, \
                                                                                                        \
        0b00001000, 0b00101101, 0b00101101, 0b00101101, 0b00101101, 0b00101101, 0b00101101, 0b00101101, \
        0b00101101, 0b00101101, 0b00101101, 0b00101101, 0b00101101, 0b00101101, 0b00101101, 0b00101101, \
        0b00101101, 0b00101101, 0b00101101, 0b00101101, 0b00101101, 0b00101101, 0b00101101, 0b00101101, \
        0b00101101, 0b00101101, 0b00101101, 0b00001000, 0b00001000, 0b00001000, 0b00001000, 0b00001000, \
        0b00001000, 0b00011101, 0b00011101, 0b00011101, 0b00011101, 0b00011101, 0b00011101, 0b00011101, \
        0b00011101, 0b00011101, 0b00011101, 0b00011101, 0b00011101, 0b00011101, 0b00011101, 0b00011101, \
        0b00011101, 0b00011101, 0b00011101, 0b00011101, 0b00011101, 0b00011101, 0b00011101, 0b00011101, \
        0b00011101, 0b00011101, 0b00011101, 0b00001000, 0b00001000, 0b00001000, 0b00001000, 0b00000000

;       '\0',       DET,        DTX,        FTX,        FTR,        DEM,        ACC,        '\a',
;       '\b',       '\t',       '\n',       '\v',       '\f',       '\r',       HC,         ES,
;       ECT,        CD1,        CD2,        CD3,        CD4,        ACN,        SYN,        FBT,
;       ANN,        FS,         SUB,        ECH,        SF,         SG,         SA,         SSA,
;       ' ',        '!',        '"',        '#',        '$',        '%',        '&',        ''',
;       '(',        ')',        '*',        '+',        ',',        '-',        '.',        '/',
;       '0',        '1',        '2',        '3',        '4',        '5',        '6',        '7',
;       '8',        '9',        ';',        ';',        '<',        '=',        '>',        '?',
;
;       '@',        'A',        'B',        'C',        'D',        'E',        'F',        'G',
;       'H',        'I',        'J',        'K',        'L',        'M',        'N',        'O',
;       'P',        'Q',        'R',        'S',        'T',        'U',        'V',        'W',
;       'X',        'Y',        'Z',        '[',        '\',        ']',        '^',        '_',
;       '`',        'a',        'b',        'c',        'd',        'e',        'f',        'g',
;       'h',        'i',        'j',        'k',        'l',        'm',        'n',        'o',
;       'p',        'q',        'r',        's',        't',        'u',        'v',        'w',
;       'x',        'y',        'z',        '{',        '|',        '}',        '~',        SUP

    times 128 db 0
